
package com.hlkj.pay.vo.merchant.req.report;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import com.hlkj.pay.vo.BaseReq;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 商户报备进件表
 * 
 * @TableName t_merchant_access_info
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class MerchantReportReq extends BaseReq {

    /**
     * 商户报备类型，1=个人，2=企业
     */
    @Schema(description = "进件id 重新提交的时候传")
    private Long id;

    /**
     * 服务商编码
     */
    @NotBlank(message = "[服务商编码]不能为空")
    @Schema(description = "服务商编码")
    private String providerCode;

    /**
     * 服务商编码
     */
    @NotBlank(message = "[商户编码]不能为空")
    @Schema(description = "商户编码")
    private String sn;
    /**
     * 渠道编码
     */
    @NotBlank(message = "[渠道编码]不能为空")
    @Schema(description = "渠道编码")
    private String channelCode;

    @Schema(description = "报备基本信息")
    @NotNull(message = "[报备基本信息]不能为空")
    @Valid
    private MerchantReportInfoReq merchantReportInfo;

    @Schema(description = "公域场景信息")
    @NotNull(message = "[公域场景信息]不能为空")
    @Valid
    private MerchantReportBusinessReq merchantReportBusiness;

    @Schema(description = "绑卡信息")
    @NotNull(message = "[绑卡信息]不能为空")
    @Valid
    private MerchantReportCardReq merchantReportCard;
}
